﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;

namespace PraxisRent.Entities
{
    public class PERSONA:BaseEntity
    {
        public PERSONA()
        {
            this.TELEFONO_PERSONAs = new List<TELEFONO_PERSONA>();
        }

        public int Id { get; set; }

        [Display(Name = "Dni")]
        [Required(ErrorMessage = "El DNI es requerido")]
        public string Dni { get; set; }

        [Display(Name = "ApPaterno")]
        [Required(ErrorMessage = "ApPaterno es requerido")]
        public string ApePaterno { get; set; }

        [Display(Name = "ApMaterno")]
        [Required(ErrorMessage = "ApMaterno es requerido")]
        public string ApeMaterno { get; set; }

        [Display(Name = "Nombres")]
        [Required(ErrorMessage = "Nombre es requerido")]
        public string Nombres { get; set; }

        [Display(Name = "Direccion")]
        [Required(ErrorMessage = "La Dirección es requerida")]
        public string Direccion { get; set; }

        [Display(Name = "Email")]
        [Required(ErrorMessage = "El Email es requerido")]
        public string Email { get; set; }

        public int EstadoCivilId { get; set; }
        public int SexoId { get; set; }

        public virtual SEXO SEXO { get; set; }
        public virtual ESTADO_CIVIL ESTADO_CIVIL { get; set; }
        public virtual USUARIO USUARIO { get; set; }
        public virtual List<TELEFONO_PERSONA> TELEFONO_PERSONAs { get; set; }
        public virtual FOTO_PERSONA FOTO_PERSONA { get; set; }

        public string NombreCompleto
        {
            get
            {
                return ApePaterno + " " + ApeMaterno + ", " + Nombres;
            }
        }

        public override string ToString()
        {
            return NombreCompleto;
        }
    }
}
